package cn.itsource.pethome.basic.mapper;

import cn.itsource.pethome.basic.query.BaseQuery;

import java.util.List;

public interface BaseMapper<T> {
    /**
     * 添加部门
     * @param t 添加的部门对象
     */
    void save(T t);

    /**
     * 修改部门
     * @param t 修改的部门对象
     */
    void update(T t);

    /**
     * 删除部门
     * @param id 根据id删除部门
     */
    void delete(Long id);

    /**
     * 查询所有部门
     * @return
     */
    List<T> findAll();

    /**
     * 查询某个部门
     * @param id 根据id查询T
     * @return
     */
    T findById(Long id);

    /**
     * 查询分页数据
     * @return
     */
    List<T> findPage(BaseQuery baseQuery);

    /**
     * 查询数据总条数
     * @return
     */
    Long findCount(BaseQuery baseQuery);

    /**
     * 批量删除
     * @param list
     */
    void deleteMany(List<T> list);
}
